#include "stdafx.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif
/////////////////////////////////////////////////////////////////////////////////////////////////
void calc_cyr(tagUMyCalcFormula*pFormula,long numCalc,phistory_data paData,double*dataCalc[10],long decNum,long sec_type,_procReflection procReflection)
{
	long i=0;
	for(;i<numCalc;++i)
	{
		dataCalc[4][i] = (double)paData[i].totalValueTrade;
		dataCalc[5][i] = (double)paData[i].totalVolumeTrade;
	}

	UMyCalc_MA(dataCalc[4],numCalc,pFormula->infoParam[0].nowValue);
	UMyCalc_MA(dataCalc[5],numCalc,pFormula->infoParam[0].nowValue);
	UMyCalc_DIV(dataCalc[3],dataCalc[4],dataCalc[5],numCalc);

	for(i=0;i<numCalc&&UMyCalc_invalid(dataCalc[3][i]);++i);
	for(++i;i<numCalc;++i)
	{
		if(dataCalc[3][i-1]<0.0001f) dataCalc[0][i] = dataCalc[0][i-1];
		else dataCalc[0][i] = 100.0f*(dataCalc[3][i]/dataCalc[3][i-1]-1);
	}
	memcpy(dataCalc[1],dataCalc[0],numCalc*sizeof(double));
	UMyCalc_MA(dataCalc[1],numCalc,pFormula->infoParam[1].nowValue);
}
/*
DIVE:=MA(AMOUNT,N)/MA(VOL,N);
CYR:(DIVE/REF(DIVE,1)-1)*100;
MACYR:MA(CYR,M);
*/
